<?php
/**
 * questionList.php
 * 
 * (C) 2009, tetsuya.odaka(EzoGP).
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* 
 * アンケート結果をページングし、一覧表形式で表示します。
 * 
 * author	；t.odaka
 * date		;2009/3/10
 * 
 * modified	;	2009/5/13	t.odaka
 * 				2009/5/21	t.odaka	refactoring.
 * 				2009/5/25	t.odaka	不要なコメント行を削除
 * 
*/
	
	// 前準備
	include("../Myznala/myHeader.inc.php");
	require_once("../Myznala/MyConverter.class.php");
	
	/*
	 * 変数定義
	 */
	// 遷移先のテンプレート名
	$myTemplate='../examples-dwoo/templates/questionList.tpl';
	
	// パラメータをサニタイズして配列に入れる。
	$cObj = new MyConverter();
	$reqParm = $cObj->getRequestParameters();
	
	/* 
	 * requestから指定されたページ番号を取得する。  
	*/
	$myReqPage = $reqParm['page'];
	if(!is_numeric($myReqPage)) $myReqPage=1;//初期画面（など）の考慮
	
	// ページングするためのオブジェクト（ページネーター）を生成します。
	require_once('PagingTextFileBean.class.php');
	$objPage=new PagingTextFileBean();
	
	/*
	 * 0.初期設定をします。
	 *  ファイル名はsample_data.txtに固定です。
	 *  ページサイズは10に固定します。
	 */
	$objPage->setFile('data/sample_data.txt');
	$objPage->setPageSize(10);
	$objPage->setTotalRecordsNum();
	$objPage->setTotalPageNum();
	
	/*
	 * 1.指定されたページに対応するデータを$result_arrayに取得します。
	 */ 
	$result_array = $objPage->goPage($myReqPage);
	
	/*
	 * 2.ページネーターからページ配列（アンカーを張る数字が入っている）を取得します。
	 */
	$myPageArray = $objPage->getPageArray($myReqPage);
	
	/*
	 * 3.前ページ(previous page)を計算します。
	 */ 
	if($myReqPage>1){
		$myPrevPage = $myReqPage-1;
	}else{
		$myPrevPage=0;
	}
	
	/*
	 * 4.次ページ(next page)を計算します。
	 */
	$myNextPage=$myReqPage + 1;
	$myNextPage=min($myNextPage,$objPage->getTotalPageNum());
	
	/*
	 * 5.最終ページ(last page)を計算します。
	 */
	$myLastPage=$objPage->getTotalPageNum();
	
	/* 
	 * テンプレートの引数をセットします 
	 * ページングリストを作成する場合には、
	　* 必ず以下の変数をassignしてください。
	*/
	$myTplData = array(	
					'myLoginUser'=>$myLoginUser,
					'myAppName'=>'examples-dwoo',
					'myPageTitle'=>'List_Questionnaire',
	
					// Pagingのための項目
					'myPageName'=>'questionList.php', 
					'myReqPage'=>$myReqPage,	//表示するページ
					'myPrevPage'=>$myPrevPage,//前ページ
					'myNextPage'=>$myNextPage,		//次ページ
					'myLastPage'=>$myLastPage,		//最終ページ
					'myPageArray'=>$myPageArray,		//ページアンカー
					'myTotalRecNum'=>$objPage->getTotalRecordsNum(),	//データ総件数
	
					'result_array'=>$result_array	//データ
	);
	
	// 後処理
	include("../Myznala/myFooter.inc.php");
?>